home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
dviware
/
beebe
/
updates
/
00mail.13
< prev
next >
Wrap
Text File
|
1990-10-01
|
23KB
|
671 lines
1-Oct-87 14:06:14-MDT,23751;000000000001
Date: Thu 1 Oct 87 14:06:14-MDT
From: "Nelson H.F. Beebe" <Beebe@SCIENCE.UTAH.EDU>
Subject: DVI driver family update #13
To: "DVI mailing list": ;
cc: BEEBE@SCIENCE.UTAH.EDU
X-US-Mail: "Center for Scientific Computation, South Physics, University of Utah, Salt Lake City, UT 84112"
X-Telephone: (801) 581-5254
Message-ID: <12339075525.13.BEEBE@SCIENCE.UTAH.EDU>
DVI Driver Family Update #13
[01-Oct-87]
This issue contains a preliminary Unix man page in troff/nroff
format which may be useful at some sites. I have tested it with
both screen and PostScript output, and with checknr, on a Sun
workstation, and followed the guidelines in the Sun manuals on
writing man pages, particularly with respect to font choices.
There are sufficient differences in formatting from TeX's
approach that I think I will continue to maintain dviman.ltx
(which has similar contents), rather than just applying tr2tex to
dvi.1l. As an example, troff does not normally provide
typewriter fonts for program examples; combinations of bold and
italic are used. Also, troff seems not to have a proper notion
of ``quotes''. My AT&T Unix Programmers Manual -- Document
Preparation, Volume 4, Holt, Rinehart and Winston (1986) lacks an
index (a pox upon them), so I could easily have overlooked
something.
I've written several shorter man pages, but this one represents
my biggest troff effort to date (and considering the amount of
ugly how-to-do-it formatting required, may possibly be my last).
Comments are encouraged.
There are two changes noted in the man page file that are not yet
reflected in the DVI software outside of my local installation.
The -d (debug) option can now be specified more than once, so
you need not add values. Originally I thought it might be
useful to have -d0 cancel a previously-typed debug request,
but this appears less useful than the new alternative.
The -z option will be available for 4.xBSD Unix systems (or
any that have an ioctl(fildes,TIOCSTI,*character) call) for
all devices.
dviman.ltx will be brought up-to-date next.
I am also trying to work my way through a file of mail with
suggestions for the drivers, which will probably result in
Version 2.10 being announced next week. To those whom I have not
answered, my apologies; your comments are welcome and receiving
consideration. I get 800Kb of email a month, so it is not always
possible to respond in detail to everyone. I am also holding a
couple of dozen orders for tape and floppy distributions until
2.10 is ready.
Here is dvi.1l; install it in /usr/local/man/man1, or wherever
you usually put local additions.
------------------------------------------------------------------------
.TH dvi 1L "01 October 1987"
.SH NAME
dvixxx \- TeX DVI to device xxx translator family
.SH SYNOPSIS
\fBdvixxx\fP
[\fB-a\fP]
[\fB-b\fP]
[\fB-c#\fP]
[\fB-d#\fP]
[\fB-e\fP\fIVAR=value\fP]
[\fB-f\fP\fIfontsubfile\fP]
.if n .ti +0.5i
[\fB-l\fP]
[\fB-m#\fP]
[\fB-o#\fP]
[\fB-o#:#\fP]
[\fB-o#:#:#\fP]
[\fB-p\fP]
[\fB-q\fP]
.ti +0.5i
[\fB-r#\fP]
[\fB-s#\fP]
[\fB-v\fP]
[\fB-x#\fP\fIunits\fP]
[\fB-y#\fP\fIunits\fP]
[\fB-z\fP]
.if n .ti +0.5i
\fBdvifile1\fP
[\fB dvifile2\fP] .\|.\|.
\fIxxx\fP\fR = output device identifier suffix (see below)\fP
.SH DESCRIPTION
This is a public-domain family of TeX DVI translators. They
all have a common command-line interface, and are based on a
shared set of source files.
For all except \fIdvibit\fP, which is intended for interactive display,
the output file will be given the name of the \fI.dvi\fP file, but with
suffix \fI.dvi-xxx\fP, where \fIxxx\fP is the three-character mnemonic
for the translator program. If long filenames are not supported,
then \fI.xxx\fP is used. For \fIdvibit\fP, output is on \fIstdout\fP,
which defaults to the terminal; it may be redirected in the usual Unix
fashion by \fI>filename\fP on the command line (e.g. \fIdvibit foo
>foo.out\fP).
.SH DEVICES SUPPORTED
As each \fI.dvi\fP file is processed, a list of errors is printed
on the standard error unit, \fIstderr\fP; this list is also saved
in a file with suffix \fI.dvi-err\fP (or \fI.err\fP, if long filenames
are not supported). This file is not created if there are no errors. As
each page is printed, the physical page number and the TeX page
number(s) are printed without a following character return; after the
last page, the string "[OK]" is printed, followed by a newline. This
gives a convenient progress report to the terminal. If it is not wanted,
then the error output can be redirected into a file (possibly the null
device) (e.g. \fIdvixxx foo &foo.err\fP), or the \fB\-q\fP (quiet)
option can be given to suppress it.
The available translators are as follows:
.TP \w'dvityp_or_dvitype'u+2n
\fIdvialw\fP
PostScript (Apple LaserWriter)
.TP
\fIdvibit\fP
Version 3.10 BBN BitGraph terminal
.TP
\fIdvican\fP
Canon LBP-8 A2 laser printer
.TP
\fIdvigd\fP
Golden Dawn Golden Laser 100 printer
.TP
\fIdviimp\fP
Imagen imPRESS-language laser printer family
.TP
\fIdvijep\fP
Hewlett-Packard LaserJet Plus
.TP
\fIdvijet\fP
Hewlett-Packard LaserJet
.TP
\fIdvil3p\fP
DEC LN03 Plus laser printer
.TP
\fIdvil75\fP
DEC LA75 144 dpi printer
.TP
\fIdvim72\fP
Apple Imagewriter 72 dpi printer
.TP
\fIdvimac\fP
Apple Imagewriter 144 dpi printer
.TP
\fIdvimpi\fP
MPI Sprinter 72 dpi printer
.TP
\fIdvio72\fP
OKIDATA Pacemark 2410 72 dpi printer
.TP
\fIdvioki\fP
OKIDATA Pacemark 2410 144 dpi printer
.TP
\fIdviprx\fP
Printronix 60h x 72v dpi printer
.TP
\fIdvitos\fP
Toshiba P-1351 180 dpi printer
.TP
\fIdvityp\fP or \fIdvitype\fP
DVI Translator for human-readable output
.SH OPTIONS
The order of command options and DVI file names is \fInot\fP
significant; all switch values apply to all DVI files. DVI files are
processed in order from left to right.
Letter case is \fIignored\fP) in option switches: \fB\-A\fP
and \fB\-a\fP are equivalent.
.TP
.B \-a
Implement virtual font caching, if possible.
When a font file is opened, a buffer is allocated
to contain the entire file, and the file is then
read with one system call. This is important
primarily on networked file systems, where the
many random-access calls in the font file for
small amounts of data entail substantial network
overhead. With the entire file cached in local
memory, this overhead is removed. The
additional memory required for the font file
buffers amounts to 100K to 200K bytes (assuming
the compact \fI\.pk\fP font file format), which is
not excessive. If memory cannot be allocated for
a font file, then normal buffering of small
blocks is used. A trace option (\fB\-d64\fP) is
provided to monitor the font caching; see below.
.TP
.B \-b
Backwards order printing from the default. For example, laser printers
using the Canon LBP-CX print engine normally receive pages in
reverse order because they stack printed side up. Some have page
handling mechanisms that stack them face down, and in such a case
\fB\-b\fP will ensure that they come out in order 1, 2, .\|.\|.
instead of n, n-1, n-2, .\|.\|.
.TP
.B \-c#
Print # copies of each output page. Page copies
are printed consecutively; this does
\fInot\fP
give multiple collated copies of the entire job.
.TP
.B \-d#
Produce debugging output on \fIstderr\fP if a non-zero value is given.
Multiple \fB\-d\fP switches may be specified, and one may also add
values of the following possible options to obtain the switch value:
.RS
.TP
.I 1
(dvijet only) print page bitmap in hexadecimal;
.TP
.I 2
display page coordinates and metrics of
each output character, and print each
character bitmap in hexadecimal;
.TP
.I 4
(dvijep only) display updated page
coordinate of each character after each call
to \fIfixpos()\fP;
.TP
.I 8
print filename and open mode of
each
\fIsuccessful\fP
file opening;
.TP
.I 16
print filename and open mode of
each
\fIunsuccessful\fP
file opening;
.TP
.I 32
show discarded off-page text;
.TP
.I 64
trace virtual font caching.
.RE
.PP
.RS
For example, \fB\-d24\fP will trace all attempted file openings.
.RE
.TP
.B \-eVAR=value
Define an environment variable on the command line (see the later
section ENVIRONMENT VARIABLES). The acceptable values for
\fIVAR\fP
are
\fIDVIHELP,\fP
\fIFONTLIST,\fP
\fITEXFONTS\fP,
and
\fITEXINPUTS\fP.
Under normal use of the
translators, these can be set by TOPS-20 and
VAX VMS
\fBdefine VAR: value\fP
commands, or by Unix
csh
\fBsetenv VAR value\fP
or sh
\fBVAR=value\fP
commands. When the
translator is invoked by another program, such as
a print spooler, on some systems it may not be
possible to set a
particular value of an environment variable for
the subprocess, so this option gets around this
limitation. On most Unix systems, it should
be possible to use the call
\fBsystem("VAR=value; dvixxx filename")\fP.
.TP
.B \-ffontsubfile
Define an alternate font substitution file which
is to be used instead of the default ones (see below).
.TP
.B \-l
Inhibit logging.
.TP
.B \-m#
Reset magnification to #. The default for low resolution printers is
\fB\-m603,\fP corresponding to 1/1.2^5 magnification of 300-dot/inch
fonts. By TeX conventions, magnification 1000 corresponds to a
200-dot/inch output device. The default magnification is always
adjusted according to the output device resolution in order to give a
normal page size, so this parameter should rarely be required. Legal
values are int((1000 or 1440 or 1500) x 1.2^(k/2) [k = -16 .\|.\|. 16];
other values will be set to the nearest in this family. Not all fonts
will be available in this wide range, and most installations will
probably have only a half dozen or so magnifications.
Magnification values less than 25 are taken to be a TeX magstep
parameter which is applied to the standard magnification for that
device. For example, \fB\-m-0.5\fP selects a smaller size, and
\fB\-m2\fP selects a size 1.44 times larger than normal.
.TP
.B \-o# \fIor\fP \-o#:# \fIor\fP \-o#:#:#
Specify a page number, or range of page numbers, to be selected for
output. In the third form, the last number is the page number step
size; it is normally 1. This option may be specified any number of
times. If it is not specified, then all pages will be printed. Pages
are numbered in order 1, 2, 3, .\|.\|. in the file, but any page number
recorded by TeX on the printed page will in general be different.
Negative page numbers count backward; \-1 is the last page in the
document, \-2 the second last page, and so on.
As pages are selected for printing, [#{#} will be printed on
\fIstderr\fP, where the first # is the sequential page number in the
file, and the second # is a string of values of the TeX counters,
\\count0 through \\count9, separated by dots, with trailing zero
counters dropped. \\count0 usually records the printed page number.
When the page is completely output, a closing \fI]\fP will be printed on
\fIstderr\fP. Any error messages from processing of that page will
therefore occur between the square brackets. For example, \fB\-o1:3
\-o12 \-o17:23 \-o\-3:\-1\fP would select pages 1, 2, 3, 12, 17, 18, 19,
20, 21, 22, and 23, plus the last three pages.
Pages are processed in the order found in the DVI file; there is
intentionally no attempt made to sort them according to the \\count0
values, since different macro packages may use this counter for
different purposes, and in the case of floating tables and figures,
the pages may not be in order anyway.
Pages will always be printed in an order appropriate for the device so
that the first document page occurs first face up in the document
stack; the \fB\-b\fP option can be used to reverse this order. For
example, some Hewlett-Packard LaserJet Plus printers are equipped with
a page flipper which stacks output face down; for these, the \fB\-b\fP
option will ensure that the pages come out in the expected order.
Specification of a page number step size is useful for producing duplex
(two-sided) printing. For example, with laser printers using the Canon
LBP-CX engine, the first run could specify \fB\-o1:9999:2,\fP which
would stack output face up, beginning with the last page, and ending
with page 1 on top. The printed pages can then be reinserted in the
input tray \fIface up\fP, page 1 on the top, exactly as they were found
in the output tray, with the top of the page in the tray closest to the
end which is inserted first into the printer. A second run with \fB\-b
\-o2:9999:2\fP would then print pages 2, 4, .\|.\|., on the backs of
pages 1, 3, .\|.\|.; note the \fB\-b\fP option to get backwards order on
the second run.
There is a bug in Microsoft C's \fIsscanf()\fP on the IBM PC; it does
not correctly parse input on the format \fI"%d:%d:%d"\fP in
\fIoption()\fP for the page number switch. It correctly returns the
numbers, but instead of returning the number of such items parsed, it
returns \-1, which should only happen if none are parsed. A work
around seems to be to supply a trailing colon on the switch, so that
you write \fB\-o17:\fP instead of \fB\-o17\fP.
.TP
.B \-p
Inhibit font preloading. This may produce output a few seconds
earlier when all pages are output, but should have negligible effect
on the execution time, and consequently, should normally not be
specified. When individual pages are being printed with the
\fB\-o#\fP option, preloading is necessary (and will be forced) to
ensure that all fonts are defined before they are referenced.
.TP
.B \-q
Quiet mode. Status displays to \fIstderr\fP are suppressed, unless
warning or error messages are issued. For interactive devices
(dvibit), warning messages are suppressed.
.TP
.B \-r#
(Device = HP LaserJet only). Specify the Laser Jet output resolution
in dots per inch. \fI#\fP must be one of 75, 100, 150, or 300. The
actual plot file is identical in each case; only the size on the
output page is changed, because the resolution change is effected by
printing 1 x 1, 2 x 2, 3 x 3, or 4 x 4 pixel blocks.
.TP
.B \-r
(Device = Golden Laser 100 only). Select
run-length encoding of the output file. This
reduces disk space typically by 10% to 40%, but
increases host CPU time for the preparation of
the output file.
.TP
.B \-r
(Device = Apple ImageWriter only). Select run-length
encoding of the output file.
.TP
.B \-r
(Device = Toshiba P-1351 only). Select
run-length encoding of the output file. This
reduces disk space typically by 10% to 40%, but
increases host CPU time for the preparation of
the output file, and because of poor logic in the
printer, may double the print time! The print
quality is also substantially worse, so this
option is generally
\fInot\fP
recommended.
.TP
.B \-s#
(Device = Apple LaserWriter only). Force
characters larger than # pixels wide or high to
be reloaded each time they are required. The
Version 23.0 PostScript interpreter has a bug
which manifests itself in fatal
\fIVM error\fP
messages when large characters are sent. A
reasonable default value has been set for this
which should normally avoid the problem.
Specifying
.B \-s0
will cause reloading of
every character each time it is used.
.TP
.B \-v
(Device = Apple LaserWriter only). Force reloading of
all required fonts at start of each page.
.TP
.B \-x#\fIunits\fP
The \fB\-x\fP options specify the left margin of the TeX page on the
output page in any of the indicated units. Letter case is not
significant in the units field, which must \fInot\fP be separated from
the number by any space. \fI#\fP may be fractional. For example,
\fB\-x1.0in\fP, \fB\-x2.54cm\fP, \fB\-x72.27pt\fP, and \fB\-x6.0225pc\fP
all specify a one-inch left margin. Negative values are permissible, and
may be used to shift the output page left (possibly truncating it on the
left) in order to display a wide TeX page.
The \fIunits\fP field is mandatory, and may be one of
.RS
.TP
.B bp
big point (1in = 72bp)
.TP
.B cc
cicero (1cc = 12dd)
.TP
.B cm
centimeter (1in = 2.54cm)
.TP
.B dd
didot point (1157dd = 1238pt)
.TP
.B in
inch
.TP
.B mm
millimeter (10mm = 1cm)
.TP
.B pc
pica (1pc = 12pt)
.TP
.B pt
point (72.27pt = 1in)
.TP
.B sp
scaled point (65536sp = 1pt)
.RE
.TP
.B \-y#\fIunits\fP
The \fB\-y\fP options specify the top margin of the TeX page on the
output page. Letter case is not significant in the units field, which
must \fInot\fP be separated from the number by any space. # may be
fractional. For example, \fB\-y1.0in\fP, \fB\-y2.54cm\fP,
\fB\-y72.27pt\fP, and \fB\-y6.0225pc\fP all specify a one-inch top
margin. Negative values are permissible, and may be used to shift the
output page up (possibly truncating it on the top) in order to display a
long TeX page.
By decree of the Stanford TeX Project, the default TeX page origin
is always 1 inch over and down from the top-left page corner, even
when non-American paper sizes are used. This corresponds to the switch
settings \fB\-x1in \-y1in\fP; these values are assumed unless
overridden.
.TP
.B \-z
(Device = Apple LaserWriter or HP LaserJet Plus on TOPS-20 only, or any
device on 4.xBSD Unix). For each DVI file processed, type in an EXEC
command \fBDVISPOOL: dvifilename\fP (on Unix, \fBDVISPOOL
dvifilename\fP) followed by a newline. The user should have defined
\fIDVISPOOL:\fP (or \fIDVISPOOL\fP) to be a program or shell script
which sends the translation of the DVI file to the appropriate output
spooler.
.SH ENVIRONMENT VARIABLES
The behavior of the DVI translators can be influenced by
definition of logical names on TOPS-20 and VAX VMS, or
environment variables in Unix and PC DOS. Compiled-in
internal defaults will be provided for any of these which are not
defined. They \fImust\fP be entirely in upper-case, since that
is conventional on Unix systems. The names currently recognized
are as follows:
.TP \w'TEXINPUTS'u+2n
DVIHELP
This variable defines an alternate help string which is
typed when the user makes an input error. It should
direct the user to additional documentation. For
example, on TOPS-20, it might be "try HELP
DVI or XINFO DVI".
.TP
FONTLIST
Normally, the drivers are prepared to search first for \fI.pk\fP,
then \fI.gf\fP, then \fI.pxl\fP font files. This variable can be used to
change this search order, or remove one or more of the possibilities.
It is expected to contain at least one of the strings "PK", "GF",
or "PXL", possibly separated by arbitrary punctuation and other text.
This flexibility is necessary because some operating systems expect
environment variables to conform to some syntax, such as that of a file
name. Letter case is \fInot\fP significant. Some acceptable strings
are "PXL-then-PK-then-GF", "PK-GF", "use-only-PXL-fonts", and
"PXL/GF/PK".
.TP \w'TEXINPUTS'u+2n
TERM
This variable is used only for \fIdvibit\fP; if it does not evaluate to
either "bitgraph" or "bg", \fIdvibit\fP will refuse to run. On Unix,
this is the conventional way of defining terminal types with the
\fItermcap\fP or \fIterminfo\fP systems. This variable is ignored on
VAX VMS, since the VMS C library sets it to a value which can never be
"bitgraph" or "bg".
.TP
TEXFONTS
This defines the directory path for finding font files. Its value is
\fIprepended\fP to the name of a \TeX font to get a full file
specification. A typical value in Unix for \fITEXFONTS\fP would be
\fI/usr/local/lib/tex/fonts/\fP. On TOPS-20, font \fIcmr10\fP on a
300-dot/inch device might correspond to the files
\fItexfonts:cmr10.300gf\fP, \fItexfonts:cmr10.300pk\fP, or
\fItexfonts:cmr10.1500pxl\fP.
.TP
TEXINPUTS
This defines the directory path for finding files which
are not in the current working directory.
It is \fIprepended\fP to file names. A typical value in Unix
would be \fI/usr/local/lib/tex/macros/\fP.
.SH FILES
The values of \fItexinputs:\fP and \fItexfonts:\fP below are
system-dependent. On Unix systems, typical values are
\fI/usr/local/lib/tex/macros/\fP and \fI/usr/local/lib/tex/fonts/\fP.
.TP \w'texinputs:texfonts.sub'u+2n
.I *.dvi
TeX DeVice Independent output file
.TP
.I *.dvi-log
TeX DVIxxx translator error log
.TP
.I *.err
TeX DVIxxx translator error log when long extensions are not available
.TP
.I *.dvi-xxx
TeX DVIxxx translator output file
.TP
.I *.xxx
TeX DVIxxx translator output file when long extensions are not
available
.TP
.I *.sub
DVI file-specific font substitution file
.TP
.I DVISPOOL
Environment variable (4.xBSD Unix only) defining program or shell script
which sends translation of DVI file to the appropriate output spooler.
.TP
.I DVISPOOL:
Logical name (TOPS-20 only) defining program which sends translation
of DVI file to the appropriate output spooler.
.TP
.I texfonts.sub
Job-wide font substitution file
.TP
.I texfonts:*.*pxl
TeX default font rasters
.TP
.I texfonts:*.*gf
TeX default font rasters
.TP
.I texfonts:*.*pk
TeX default font rasters
.TP
.I texinputs:dvialw.ps
PostScript header file containing standard macro definitions prefixed
to PostScript output from dvialw
.TP
.I texinputs:texfonts.sub
System-wide font substitution file
.SH "SEE ALSO"
dvitype(1),
latex(1),
tex(1),
tr2tex(1)
.SH BUGS
Bugs in either the software or its documentation
should be reported by electronic or postal mail to
.nf
Nelson H.F. Beebe
Center for Scientific Computation
220 South Physics Building
University of Utah
Salt Lake City, UT 84112
USA
Tel: (801) 581-5254
EMAIL: Beebe@Science.Utah.Edu (Internet)
.fi
An active electronic mailing list for news about the DVI driver family
development is maintained by the author at the above net address. Send
requests there if you wish to be on it.
.SH AUTHORS
David Fuchs at Stanford University wrote \fIdvitype\fP in
\fIweb\fP
and defined the DVI file format.
Mark Senn at Purdue University wrote a preliminary version of the BBN
BitGraph driver in C, using \fIdvitype\fP as a model. Stephan v.
Bechtolsheim and Bob Brown at Purdue, Robert Wells at BBN, and Jim
Schaad and Richard Furuta at the University of Washington, improved
it.
Contributions for PostScript devices came from Neal Holtz at Carleton
University. Simon Barnes of Schlumberger Cambridge Research Ltd., and
Robin Rohlicek at BBN provided useful additions to the BBN BitGraph
driver which have been generalized and incorporated in Version 2.07.
The transformation to about a dozen other device drivers,
the massive code rearrangement for many new features and
easy identification of host- and device-dependent sections, plus
support for \fI\.pk\fP and \fI\.gf\fP
compact font files, was carried out at the University of Utah by
Nelson H.F. Beebe. He also wrote the documents
\fIA TeX DVI Driver Family\fP
and
\fIUsing LaTeX at the University of Utah College of Science DEC-20\fP.
The first describes all of these drivers in detail,
and the second is the
\fILocal LaTeX Guide\fP.
Lon Willett at Utah adapted \fIdvijep\fP to make \fIdviimp\fP for the
Imagen laser printer family.
John Sauter adapted one of the low-resolution printer drivers to produce
\fIdvil75\fP for the DEC LA75 printer, and \fIdvil3p\fP for the DEC LN03
Plus laser printer.
Norman Naugle and colleagues at Texas A&M implemented the
family on several new systems.
-------